import multiprocessing
import time

"""
多进程的设计:
    进程控制
    
    terminate(self):关闭进程
    is_alive(self):是否存活
    join(self,timeout):加入队列强制执行
    
    
    # join()
    所有的进程通过start()方法启动,而后多个进程进入到阻塞队列,这时候某一个进程是不可能强占cpu的
    如果这个时候有一个进程必须要现在执行,那就要使用join()
    
    
"""

# 发送方法
def send(msg):
    print(time.time())
    print('sending......')
    time.sleep(5)
    print("[pid:]{}  [name:]{}".format(
        multiprocessing.current_process().pid,
        multiprocessing.current_process().name,
          ))


def main():
    p = multiprocessing.Process(target=send,args=('hello world',),name='发送进程')
    p.start()
    p.join() # 加入到主线程
    print('发送成功')   # 主进程要等子进程执行完再结束

if __name__ == '__main__':
    main()
